Method of controlling mobile devices in concert during a mass spectators event

ABSTRACT

The present invention discloses a system and a method for controlling multiple computerized mobile devices in a mass spectator event, such as a music show, sporting event, political event and the like where the usage of traditional networks such Wi-Fi or Cellular is not feasible economically or technically due to the limited bandwidth. The present invention discloses a method whereby a network of beacons, and, optionally, the GPS location is used to synchronize, coordinate, and control the selection and execution of a sequence of actions on the mobile devices such as playing video, playing vibrations, playing camera flash patterns, illuminating screen patterns, illuminating screen colors, displaying images, displaying texts, playing sounds, or playing music.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority and is a continuation-in-part of U.S.patent application Ser. No. 15/558,114, filed Sep. 13, 2017; and claimspriority to PCT International Application No. PCT/IL2016/050278, filedon Mar. 13, 2016; and claims the benefit of U.S. Provisional PatentApplication No. 62/132,950, filed on Mar. 13, 2015, the contents ofwhich are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to controlling mobile devicesand other peripherals via remote devices, and more specifically to amethod for controlling mobile devices in a synchronized and coordinatedfashion in a mass spectator event where a traditional networkinfrastructure like Wi-Fi or Cellular are not technically oreconomically feasible or cannot be deployed reliably in the venue.Instead of a traditional Wi-Fi or Cellular network, a network of beaconsis used to activate various actions on the mobile devices in a spectatorevent.

BACKGROUND OF THE INVENTION

Generally, spectacle events are limited to utilizing the audio andvisual effects provided by the artists and/or operator of a venueholding the event. Traditionally, venue speakers, scoreboards, andscreens are used to supplement a performer's and/or athlete'sperformance. Currently, there is a lack of additional multimediainteraction for spectators, and their personal mobile devices, tosupplement the traditional audio/visual elements at the venue.

The current solutions to augment the user experience in spectacle eventsusing the users' mobile devices rely on traditional networks such asWi-Fi or Cellular where each device is both a transmitter and receiverthe network and, as such, needs to share the overall network bandwidthto send and receive data, including the network protocol data that isrequired to facilitate communications. These networks tend of work wellin environments where radio noise between devices is relatively low andthe network bandwidth is sufficiently large to enable the required datato arrive at each device reliably.

There is a need for providing enhanced experiences for the spectatorsattending spectacles, such as events having a range of attendees oraudience members numbering from a few in a small performance room tostadium-filling crowds. There is also a need for providing a mechanismwhere mobile devices in mass spectator events can be commanded reliablywithout a traditional network such as Wi-Fi or Cellular.

SUMMARY OF THE INVENTION

The subject invention discloses a method of controlling a plurality ofmobile electronic devices at an audience event using a controllersoftware application on a computing device and a network of beacons, themethod comprising: downloading a mobile software application onto eachmobile electronic device; preparing unique configuration and contentdata for the controller software application for the audience event,wherein the configuration and content data varies based on the specificphysical location in a venue holding the audience event; configuring thenetwork of beacons for the venue for transmission of communicationsprotocol commands from the controller software application on thecomputing device; installing the network of beacons at the venue;launching the mobile software application onto each mobile electronicdevice during the audience event, wherein the mobile softwareapplication prepares each mobile electronic device that does not supporta communications protocol to receive a plurality of communicationsprotocol commands from the network of beacons; determining the specificphysical location of each mobile electronic device in the venue holdingthe audience event; transmitting wirelessly the unique configuration andcontent data to the plurality of mobile electronic devices during theaudience event from the network of beacons based on the specificphysical location in the venue during the audience event; transmittingwirelessly the plurality of communications protocol commands during theaudience event from the computing device to the mobile electronicdevices from the network of beacons; recognizing and executing theplurality of communications protocol commands on the mobile electronicdevices, wherein the plurality of communications protocol commandscomprises a plurality of timestamps to synchronize the execution of thecommands on the mobile electronic device into a unique sequential order.

In embodiments of the subject invention, the communications protocolcommands are selected from the group consisting of MIDI, OCA (Open SoundControl), DMX512 (Digital Multiplex), ART-NET, and sACN (StreamingArchitecture for Control Networks).

In embodiments of the subject invention, the specific physical locationof the plurality of mobile electronic devices in the venue holding theaudience event is acquired by a method selected from the groupconsisting of user input, GPS, beacon proximity, venue seat number, andvenue section number.

In embodiments of the subject invention, the plurality of executedcommunication protocol commands creates an image from the displayscreens from the plurality mobile electronic devices by assigningdifferent executed communication protocol commands to display differentcolors based on the specific physical location of each mobile electronicdevice in the venue holding the audience event.

In embodiments of the subject invention, the plurality of communicationsprotocol commands is selected from the group consisting of playingvideo, playing vibrations, playing camera flash patterns, illuminatingscreen patterns, illuminating screen colors, displaying images,displaying texts, playing sounds, playing music, streaming audio, orstreaming video.

In embodiments of the subject invention, the unique configuration andcontent data sent contains data elected from the group consisting ofvideo stream data, audio playback data, image data, or text data.

In embodiments of the subject invention, the mobile software applicationon each mobile device translates the plurality of communicationsprotocol commands from the transmitted natural language to the naturallanguage of each mobile device.

In embodiments of the subject invention, the plurality of communicationsprotocol commands transmitted do not interfere with mobile deviceprotocols on the plurality of mobile electronic devices.

In embodiments of the subject invention, the executed plurality ofcommunications protocol commands synchronizes the plurality of mobileelectronic devices in real-time to perform a specific actionsimultaneously.

In embodiments of the subject invention, the plurality of communicationsprotocol commands is transmitted in a unique sequential order inpre-defined time periods with a command code, a sequence number, acurrent-time for the controller software application, and a time forexecuting the command.

In embodiments of the subject invention, the plurality of executedcommunication protocol commands creates a musical instrument emulator onthe plurality mobile electronic devices to complement the music at theaudience event, wherein the choice of the musical instrument emulated,the volumes and pitches of the sounds emitted by the mobile devices, andthe pitches of the sound emitted is determined by the plurality ofexecuted communication protocol commands.

In embodiments of the subject invention, the plurality of executedcommunication protocol commands creates a musical instrument emulator onthe plurality mobile electronic devices to complement the music at theaudience event, wherein the choice of the musical instrument emulated,the volumes and pitches of the sounds emitted by the mobile devices, andthe pitches of the sound emitted is determined by user input.

In embodiments of the subject invention, the plurality of executedcommunication protocol commands creates a musical instrument emulator onthe plurality mobile electronic devices to complement the music at theaudience event, wherein the choice of the musical instrument emulated,the volumes and pitches of the sounds emitted by the mobile devices, andthe pitches of the sound emitted is determined by movements of the phoneselected from the group consisting of shaking, rotating, moving up,moving down, moving left, moving right, moving clockwise, movingcounterclockwise, tilting up, tilting down, touching the screen, andexposing the phone to light.

The subject invention also discloses a method of controlling a pluralityof mobile electronic devices at an audience event using a communicationsprotocol controller software application on a computing device and acompatible communications protocol software controller, the methodcomprising: a) downloading a mobile software application onto eachmobile electronic device; b) preparing unique configuration and contentdata for the communications protocol controller software application forthe audience event, wherein the communications protocol controllersoftware application translates communication protocol commands tomobile software application commands for the plurality of mobileelectronic devices; c) establishing a connection between the compatiblecommunications protocol software controller and the communicationsprotocol controller software application on the computing device; d)launching the mobile software application onto each mobile electronicdevice during the audience event, wherein the mobile softwareapplication prepares each mobile electronic device to receive aplurality of translated communication protocol commands from thecommunications protocol controller software application; e) transmittingwirelessly the unique configuration and content data to the plurality ofmobile electronic devices during the audience event; f) transmitting aplurality of communication protocol commands from the compatiblecommunications protocol software controller to the communicationsprotocol controller software application during the audience event; g)translating the received plurality of communication protocol commands bythe communication protocol controller software application into theplurality of translated communication protocol commands during theaudience event; h)transmitting wirelessly the plurality of translatedcommunication protocol commands from the computing device to the mobileelectronic devices during the audience event; and i) recognizing andexecuting the plurality of translated communication protocol commands onthe mobile electronic devices during the audience event, wherein theplurality of translated communication protocol commands comprises aplurality of timestamps to synchronize the execution of the commands onthe mobile electronic device into a unique sequential order.

The subject invention further discloses a method of controlling aplurality of mobile electronic devices at an audience event using acontroller software application on a computing device, the methodcomprising: downloading a mobile software application onto each mobileelectronic device; preparing unique configuration and content data forthe controller software application for the audience event; launchingthe mobile software application onto each mobile electronic deviceduring the audience event, wherein the mobile software applicationprepares each mobile electronic device that does not support acommunications protocol to receive a plurality of communicationsprotocol commands from the computing device; transmitting wirelessly theunique configuration and content data to the plurality of mobileelectronic devices during the audience event; transmitting wirelesslythe plurality of communications protocol commands during the audienceevent from the computing device to the mobile electronic devices;recognizing and executing the plurality of communications protocolcommands on mobile electronic devices, wherein the plurality ofrecognizing commands comprises a plurality of timestamps to synchronizethe execution of the commands on the mobile electronic device into aunique sequential order.

In embodiments of the subject invention, the communications protocol maybe MIDI, OCA (Open Sound Control), DMX512 (Digital Multiplex), ART-NET,or sACN (Streaming Architecture for Control Networks).

It is an object of the present invention to disclose a method ofcontrolling multiple mobile electronic devices using a controllerapplication, a portion of the mobile electronic devices do not supportmulticast, the method comprising transmitting commands to the mobileelectronic devices via UDP, transmitting commands to the mobileelectronic devices via mDNS, mobile applications installed in themultiple mobile electronic devices and interacts with the controllerapplication listens to the mDNS and receives commands from thecontroller application via the mDNS.

In some cases, the controller application sends information in alanguage used by a user of a mobile electronic device of the multiplemobile electronic devices. In some cases, the method further comprisesbroadcasting the commands by the controller application. In some cases,the method further comprises executing the commands by the controllerapplication by the mobile applications.

In some cases, the method further comprises downloading content from acontent server prior to receiving the commands from the controllerapplication. In some cases, the method further comprises the mobileapplication filters a command from a plurality of optional commandsaccording to a physical location of the mobile electronic device.

It is another object of the present invention to disclose a method ofsynchronizing multiple mobile electronic devices using broadcastedmessages, comprising multiple mobile electronic device receive multiplemessages that contain commands in predefined intervals, said messagescontain command code, sequence number, the current time of thecontroller and the expected time of executing the command; afterreceiving multiple messages, the mobile electronic device identifies twomessages received at time difference closest to the predefined periods.

In some cases, the method further comprises determining a local timeoffset for each mobile electronic device according to the differencebetween subsequent messages. In some cases, the method further comprisesexecuting commands from the controller according to the time offset ofeach mobile electronic device. In some cases, the commands aretransmitted from the controller via multicast and mDNS IP address.

It is another object of the present invention to disclose a method forcoordinating operation of multiple mobile electronic devices, comprisingeach of the multiple mobile electronic devices acquires its location;each of the multiple mobile electronic devices receives a map of an areain which the multiple mobile electronic devices are located; each of themultiple mobile electronic devices identifies its location in the mapand identifies a command to be executed out of a plurality of optionalcommands received in the map.

In some cases, the location of the multiple mobile electronic devices isacquired from a user input. In some cases, the location of the multiplemobile electronic devices is acquired via GPS. In some cases, the mapcreates an image by assigning different colors to different mobileelectronic devices.

It is an object of the present invention to disclose a method ofcontrolling a plurality of mobile electronic devices using a controllerapplication which sends commands and data to a mobile applicationrunning on each of the plurality of mobile electronic devices usingMulticast UDP protocol. The method overcomes the problem where a portionof mobile electronic devices does not support Multicast UDP byoverloading the mDNS (Multicast Domain Name Server) protocol.

In some cases, the controller application sends information to themobile application running on each of the plurality of mobile electronicdevices and each mobile application obtains a translation of theinformation to the language used by the mobile electronic device. Insome cases, the method further comprises broadcasting the commands anddata from the controller application. In some cases, the method furthercomprises executing the commands of the controller application by themobile applications.

In some cases, the method further comprises mobile applicationsdownloading content from content server prior to receiving the commandsfrom the controller application. In some cases the mobile applicationdoes not download the content but rather receives the content from thecontroller application in real-time to be processes on-the-fly, forexample a streaming video or audio. In some cases, the data and commandssent from the controller application include encoded meta-data such asthe location of the mobile device that is associated to the command anddata and the mobile application filters the received commands and databased on its location in the venue.

It is another object of the present invention to disclose a method ofsynchronizing a plurality of mobile electronic devices usingsynchronization commands sent at a predefined interval period from thecontroller application. The synchronization commands comprising commandcode, sequence number, the current time of the controller application,and the time for executing the command. Each mobile application receivessaid synchronization commands and selects a set of synchronizationcommands closest to the predefined interval period and uses that set todetermine the time offset between the controller application time andthe mobile application time.

It is another object of the present invention to disclose a method ofcoordinating operation of the plurality of mobile electronic devices,comprising of each of the plurality of mobile electronic acquiring itslocation; the mobile application received a mapping of its location to agroup number. The group number is encoded in the header of data andcommands received by the mobile application which filters the data andcommand to apply and execute the data and commands intended for itsgroup. The group may be defined by several mobile devices located in aspecific location.

A second coordination method of the present invention is disclosedcomprising the same data sent to the plurality of mobile electronicdevices along with a map of the venue enabling each mobile electronicdevice to extract its own portion of the overall data to be playedand/or displayed, according to the mobile device location acquiredindependently by each mobile device.

It is another object of the present invention to disclose a method forenabling a communications protocol controller to control a plurality ofmobile electronic devices using the controller application. The methodcomprising of the controller application receiving the communicationsprotocol commands from the communications protocol controller andconverting them to commands configured to be sent to the plurality ofmobile electronic devices.

It is another object of the present invention to disclose a method forenabling the controller application to control a plurality ofcommunications protocol enabled devices comprising of augmenting thecontroller application commands with communications protocol commandsand having the controller application send both types of commands to theplurality of mobile devices as well as communications protocol commandsto the plurality of communications protocol enabled devices.

It is an object of the present invention to disclose a method ofcontrolling multiple mobile electronic devices using a network ofbeacons where each beacon transmits a set of predefined data to themobile devices. The mobile devices, in turn, are set up to accept thesepredefined beacon data transmissions and, based on the value of thereceived data, activate a sequence of predefined actions such asvibrations, LED flashes, playing of video files, playing of audio files,illuminating the LCD in different colors, displaying images, or processuser movements to simulate musical instruments.

It is also an object of the present invention to disclose a method ofusing the device's GPS coordinates to control and activate variousactions on the device.

In some cases, all the content files and sequences of commands arepre-loaded into the mobile devices before the event starts. This isbecause the network cannot be relied upon to support the dynamic loadingto contents files and other data at the time and place of the event. Themobile device software is set up to monitor the transmission bursts ofdata from the beacon and, based on the received data, activate asequence of actions. For example, when the beacon transmits its minorand major identification number, the mobile devices can map these numberinto a sequence of actions.

In some cases, the beacon network can be configured to transmit theindividual commands the mobile device application expects to execute aparticular command such as vibrate the device, illuminate the LCDscreen, or start playing a video file.

In some cases, the beacon network can be configured to propagatepredefined signals to other beacons which, in turn, activate actions onmobile devices in their vicinity. As an example, this concept can beused to guide the audience “wave” at a football game.

In some cases, the beacon data transmitted is used in conjunction withthe devices GPS location to select the place and start time of an actionor sequence of action. As an example of this use case, the American flagcan be painted on the audience in a baseball game using the mobiledevices LCD screen.

In some cases, the beacon data can contain both the identifier for thesequence of events to trigger as well as the start time to startexecuting the sequence.

In some cases, the timing of the actions is programmed into the beaconnetwork such that the beacons propagate the data between them in asynchronized coordinated fashion and, as a result, the actions on themobile devices are triggered in a synchronized coordinated fashion.

In some cases, the sequence of defined actions on the mobile devices areprogrammed to start at a predefined absolute time but the sequenceitself is determined by the closest beacon to the mobile device.

In some cases, the GPS location is used to determine that start time ofthe sequence of actions but the sequence itself is determined by theclosest beacon to the mobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the invention are herein described by way of exampleonly, with reference to the accompanying drawings. With specificreference now to the drawings in detail, it is stressed that theparticulars shown are by way of example and for purposes of illustrativediscussion of embodiments of the invention. In this regard, thedescription taken with the drawings makes apparent to those skilled inthe art how embodiments of the invention may be practiced.

In the drawings:

FIG. 1 discloses a system for controlling multiple devices in concertduring a mass spectator event, according to exemplary embodiments of thepresent invention;

FIG. 2A discloses a method of preparing multiple devices to operate inconcert during a mass spectator event, according to exemplaryembodiments of the present invention;

FIG. 2B discloses a method for synchronizing the actions of thecomputerized mobile devices, according to an exemplary embodiment of thepresent invention;

FIG. 3 shows a method of employing multiple computerized mobile devicesfor streaming media in concert, according to exemplary embodiments ofthe present invention;

FIG. 4 discloses a method for coordinating the actions of a plurality ofcomputerized mobile devices based on their specific location within theperimeter of the venue holding the event, according to exemplaryembodiments of the present invention;

FIG. 5 discloses a secondary method for coordinating a plurality ofmobile devices where they all receive the same data and each mobiledevice will play or display a portion of data according to its physicallocation in the venue;

FIG. 6 discloses a method of enabling a communications protocolcontroller to control a plurality of mobile devices by sendingcommunications protocol commands to the controller application which, inturn, converts the communications protocol commands to command for themobile electronic devices;

FIG. 7 discloses a method of enabling the controller application tocontrol a plurality of communications protocol enabled devices and aplurality of mobile electronic devices simultaneously.

DESCRIPTION OF THE INVENTION

The present invention discloses a system and a method for controllingmultiple computerized mobile devices in a mass spectator event, such asa music show, sporting event, political event and the like. The methoddisclosed in the present invention enables a remote computerized deviceoperating a controller application to send commands and data to multiplecomputerized mobile devices. The commands sent by the remote device mayby such as device vibrate, turn on and off the camera flash, illuminatethe display unit, and the like. The data sent by the remote device mayby such as video stream, audio stream, images, text. The computerizedmobile devices may operate a mobile application in order to receive andmanage the communication with the remote device. The mobile applicationcan execute the commands and utilize the data received by thecomputerized mobile devices.

The present invention also discloses a method of sending data andcommands using UDP Multicast protocol by overloading an existing UDPmulticast service known as mDNS (Multicast Domain Name Server) in such away as to get the data across to computerized mobile devices that do notsupport UDP Multicast protocol. All Mobile electronic devices supportthe mDNS protocol, even those mobile electronic devices that do notsupport Multicast UDP otherwise. By defining our data and command set insuch a way as to not interfere with the mDNS protocol, we are able touse the mDNS channel to transmit data and commands from the controllerapplication to the plurality mobile electronic devices. The mDNS serverexpects a certain structure in the packets to be received. Packets thatdo not contain the correct structure are discarded by the mDNS server.The controller application sends command to the plurality of mobiledevices that do not contain the expected header and are thus discardedby the mDNS server. The mobile application is listening for commands onthe same IP address as the mDNS server (224.0.0.251:5353). The mobileapplication, however, is programmed to recognize the commands created bythe controller application and discard other commands such as DNSrequests from other devices.

The present invention also discloses a method of synchronizingcomputerized mobile devices in order to perform specific actionssimultaneously such as playing a media file, vibrating the mobiledevice, turning on or off the camera light of a mobile device, playing aparticular sound, displaying a text and the like. In some cases, thecomputerized mobile device synchronization may be based on the physicallocation of the computerized mobile devices in the venue holding theevent. In some other cases, the computerized mobile devicesynchronization may be based on information encoded by the controllerapplication to the commands or to the data sent to computerized mobiledevices.

There are two scenarios for playing media (audio/video) using the mobileelectronic devices. In the first scenario, the media file is downloadedto the device before it is played. The entire audio/video file isdownloaded from the content server to the device any time before theevent (does not have to be at the venue). Thus, the media file resideson the mobile electronic device and a command from the controllerapplication is send to select the file to be played. Then, the set ofsynchronization commands are given so that the mobile devices cansynchronize. Finally, the “Start” command is sent to the devices tostart playing the selected media file.

In the second scenario, no media file exists on the device: The media isnot downloaded from the content server. Instead, the media data isstreamed from the controller application via UDP multicasting to all thedevices in the venue.

In both scenarios, for synchronization purposes: Exactly the same set ofsynchronization commands is sent to the mobile applications so that themobile application can compute the correct time to start playing thestreamed data (that is buffered). In both scenarios, for coordinationpurposes: The streamed data is composed of frames. Each frame has aheader which contains (in addition to the standard information likebit-rate, compression info), the Funtoad specific meta-data like groupnumber, LCD action, vibration duration, and the like.

FIG. 1 discloses a system for controlling multiple devices in concert ina mass spectator event, according to exemplary embodiments of thepresent invention. The system is designed to maintain a plurality ofcommunications with computerized mobile devices in order to send themcontent and commands. FIG. 1 shows a content server 120 designed forpopulating content and configuration data to the computerized mobiledevices. The content server 120 communicates with the mobile application125, via communication channel 132 in order to send content. Thecommunication channel 132 may be any standard wireless communicationnetwork. The content communicated by the content server 120 may compriseof configuration data, video files, sound files, text files, image filesand the like. The system also comprises controller application 105 thatcommunicates with the mobile applications 125 via communication channel131 in order to send commands and data to the computerized mobiledevices at the venue. The commands sent by the system may includecommands such as: Play media content such as videos or sounds, play avideo and audio streams, display text message, send text translation,display the screen or other display unit in a specific color, vibratethe mobile device, and the like. For example, a mobile application 125communicating with content server 120 via communication channel 132 andwith controller application 105 via communication channel 131, in orderto receive content related to a specific event. The controllerapplication 105 sends a command to play a video stream downloaded fromcontent server 120. The mobile application 125 receives the command, andplays the video stream. In some exemplary embodiment of the presentinvention the controller application 105 may send to computerized mobiledevice some operational commands such as: Vibrate the device, turn thecamera light on or off, turn the LED on or off, obtain GPS location,record from the device's microphone, allow a specific device to senddata to the other peripherals at the venue, change the default languageof the device, and the like. For example, the controller application 105sends a command for vibrating the computerized mobile devices in aspecific time at the event, to all computerized mobile devices in thevenue holding the event. The mobile application operating on thecomputerized mobile devices receive the command and simultaneouslyvibrate the computerized mobile device. FIG. 1, also comprises contentserver database 115 in order to store information related to the mobilecomputerized mobile devices communicating with the content server 120.The content stored in the server database 115 may comprise data andinformation such as: computerized mobile devices' unique identifiers,geographical location of each particular computerized mobile device, andthe like. In some optional embodiments of the present invention theserver database 115 may be independent and located in a physical deviceother than the content server 120. The server database 115 located indifferent device may also be hosted by an independent operation systemand communicate with the content server 120 via standard communicationprocess and method exist in the industry.

FIG. 2A discloses a method of preparing multiple devices to operate inconcert in a mass spectator event, according to exemplary embodiments ofthe present invention. In step 205, a person operating a computerizedmobile device launches a mobile application and receives configurationdata prepared for a specific event. The configuration data received bythe computerized mobile devices may comprise multiple parameters suchas: List of video files used in the event, list of audio files used inthe event, list of image files used in the event, list of translationtext files used in the event, the network service set identifier alsoknown as SSID of the venue holding the event, a list of group numbers,and the like. The mobile application operating on the computerizedmobile devices is also designed to receive the configuration data from aremote location, from any network designed to provide file hosting andcommunication services. For example, a person intending to attend anevent can receive the configuration settings in advance using anyinternet service.

In step 210, the mobile application operates on the computerized mobiledevices interprets the configuration data for utilizing the information.Such interpretation performed by the mobile application may be parsingaction, read a data file and the like and downloads the various videofiles, audio files, image files, text files, and other files specifiedin the configuration data from the content servers. The content servercan reside locally at the venue or in another location with internetconnectivity. In some cases, the mobile application may send informationor data to the content server such as location of the mobile device inthe venue represented by a seat number, a section number, and the like,language used by the mobile device, selections made within the mobiledevice application, device type, and the like.

Step 215 discloses the controller application, operated by a personcontrolling the mobile devices, sending commands utilizing a MulticastDomain Name Server IP address also known as mDNS. The mDNS IP address isoriginally designed to resolve host names to Internet Protocoladdresses, also known as IP addresses, within small networks that do notinclude a local domain name server. Thus, the controller application andmobile devices are programmed to utilize the familiar mDNS channel forcommunications. The commands received by the mobile application maycomprise actions such as play a video file or play a sound file whichwas downloaded as disclosed in step 210. In some cases, the command mayalso comprise actions such as display the device screen or display unitin a particular color, vibrate the device, and the like. In some cases,the command may be executed when received.

In some other cases, the command may be associated with a timestamp toexecute in order to execute the command. The timestamp may be anyreadable time value which the mobile application can utilize. In someother cases, the time value can also contain the phrase “now”, forexecuting when received. In some cases, the commands received by themobile application can be multiple commands in a sequence with atimestamp attached to each command. The mobile application receives acommand sequence with timestamp can execute each command based on itstimestamp.

Step 225 discloses sending commands to the computerized mobile devices,via a utilization of standard multicast method based on User DatagramProtocol (also known as UDP). The commands are sent by the controllerapplication are identical to the commands and information sent via mDNSand disclosed in step 215. In step 220, mobile devices are configured toreceive data on mDNS IP address. Similarity, in step 230, thecomputerized mobile devices receive the commands sent from thecontroller application via UDP Multicast or Broadcast on any validMulticast or Broadcast address other than mDNS IP Address. For example,in case Internet Protocol version 4, also known as IPv4 is used, address224.0.0.251:5353 is the IP address of the mDNS. In step 235, all devicesreceive the commands and process then to take actions like play a videostream, light the screen, and the like.

FIG. 2B discloses a method for synchronizing the actions of thecomputerized mobile devices, according to an exemplary embodiment of thepresent invention. In step 245, the controller application sendssequential synchronization commands. Each command in the sequencecontains the command code, the sequence number, the controllerapplication current-time, and the time for executing the command. Theperiod between the commands in the sequence is constant and predefined.The controller application and mobile application are designed andconfigured to utilize identical periods. The controller applicationsends sequential commands to the computerized mobile devices, in thepredefined periods. In step 250, the mobile applications receive thecommands associated with the controller application times, and then addto each command the local timestamp of the computerized mobile devicereceiving time. For example, a command received by the mobileapplication comprises the command code, sequence number, controllerapplication system time, and the time for executing the command. In step255, the mobile application identifies the commands and their associatedtimestamps which are closest to the period times. For example, when thecontroller application intervals were 300 milliseconds between thecommands, the mobile application measures the period between thecommands according to the computerized mobile device's timestamp andidentifies the duration which is the closest to 300 milliseconds (or amultiple thereof). In step 260, the mobile application uses thecontroller application time and the timestamp of the computerized mobiledevice of one of the commands identified in step 255 and subtracts thetimestamp of the computerized mobile device from the controllerapplication time. Then, the mobile application marks the result of thesubtraction operation as time offset. In step 265, the mobileapplication utilizes the time offset to calculate the actual executiontime of the commands received from the application controller. Forexample, in case the time offset is 900 milliseconds, the mobileapplication will take the command Start Time from any one of thesynchronization commands; add 900 milliseconds to it to get time tostart the command relative to its own clock. In some exemplary cases,each synchronization command has the command start time relative to thecontroller time, not relative to the mobile device time. So, after themobile application calculates the offset, it adds the calculated offsetto the mobile device time to obtain the start time relative to themobile device.

FIG. 3 shows a method of employing multiple computerized mobile devicesfor streaming media in concert, according to exemplary embodiments ofthe present invention. In step 305, a controller application, operatedin the venue holding the event, sends a command to start a mediastreaming to the computerized devices in the venue holding the event.The media streaming can be a video file, an audio file and the like. Insome cases, the commands sent to the computerized mobile devices cancontain commands to download files such as video files, digital imagefiles, audio files and the like. In step 310, the computerized mobiledevices in the venue holding the event receive the commands andidentifies the time value for execution of the command. In Step 315,computerized mobile devices execute the command according to thereceived time value and the time offset as disclosed in FIG. 2, step225. For example, a computerized mobile device receives a command tostart a video streaming in a certain time. The computerized mobiledevice utilizes the time offset as disclosed in FIG. 2, step 225 toacquire the accurate time for starting to play the streamed media data.In step 320, the computerized mobile devices in the venue hosting theevent start playing the video simultaneously. In some cases, during avideo streaming process additional media files can be downloaded to themobile device.

FIG. 4 discloses a method for coordinating the actions of a plurality ofcomputerized mobile devices based on their specific location within theperimeter of the venue holding the event, according to exemplaryembodiments of the present invention. In step 405 the computerizedmobile devices obtain their specific physical location in the venueholding the event. The location of the computerized mobile device may bethe seat number entered by the person who operates the computerizedmobile device, or the mobile application can compute the location basedon beacons placed throughout the venue, or by some other method. In step410, using the configuration data downloaded in step 205, the mobileapplication determines the GN (Group Number) for the specific media fileor action. The GN values may not be unique. For example, all devices inrows 1, 3, 5, 7, 9 may have GN=1. And all devices in rows 2, 4, 6, 8, 10may have GN=2.

Step 415, discloses encoding the group numbers (GNs) within the headerpart of the frames composing the media stream. Some media standard, forexample, AVI File Format, is a container format that enables theaddition of application specific meta-data into the frame headers.Adding the GN into the frame header allows for mapping of commands anddata to specific plurality of mobile electronic devices. In step 420,each mobile electronic device which receives the media stream canutilize the GNs encoded to the video streaming or in the commands toidentify the specific data required to be used or displayed by thedevice.

In step 425 the controller application sends commands to computerizedmobile devices displaying a video file. The commands are associated withmultiple GN's represent specific physical location in the venue hostingthe event. The computerized mobile devices identified by the GN'sassociated with the command may execute the commands. Commands such as:Play a video file, stop the streaming, light the screen in a specificcolor and the like.

FIG. 5 discloses a secondary method for coordinating a plurality ofmobile devices where they all receive the same data and each mobiledevice will play or display a portion of data according to its physicallocation in the venue. The data can be an image, video, sound, and thelike. For example, all mobile devices in a rectangular venue can receivean image of the American flag. Each mobile device, based on itslocation, will display the small portion of the entire image whereby theplurality of mobile devices in the venue collectively display the entireAmerican flag to within the resolution allowed by the number and densityof mobile devices. In step 505 the controller application sends acommand to download an image file of the Italian flag. The computerizedmobile devices received the command may identify the location of thefile. The file location may be a content server located within the localnetwork, an image located in a server on the internet, a serverintroduces an FTP service also known as File Transfer Protocol and thelike. In step 510, the computerized mobile devices identify theirrelative location in the venue holding the event, as disclosed in FIG.4. The locations identified by the computerized mobile devices may bethe seat number or specific physical location. In step 520, thecomputerized mobile devices light the screens at the color of the flagcorresponds to their physical location.

FIG. 6 discloses a method of allowing a communications protocol, such asMIDI (Musical Instrument Digital Interface), OCA (Open Sound Control),DMX512 (Digital Multiplex), ART-NET, or sACN (Streaming Architecture forControl Networks), controller to control a plurality of mobile devices.A communications protocol controller refers to any hardware or softwarethat generates and transmits communications protocol data. MIDI, OCA,DMX512, ART-NET, and sACN are technical standards that describe acommunication protocol, digital interface, and connectors and allows awide variety of electronic musical instruments, computers, lightingfixtures, speakers, LCD displays, and other related devices to connectand communicate with one another.

In step 605, the controller application is programmed to translatespecific communications protocol commands to specific commands for themobile application running on the mobile devices. For example, the MIDIcommand “193 21” to change the program sound on MIDI channel 2 toprogram #21, can be programmed to vibrate the mobile devices for 21milliseconds.

In step 610, in addition to the existing connections of thecommunications protocol controller to the communications protocolenabled devices, a new connection to the controller application isestablished. In step 615, the communications protocol controller sendscommands to the communications protocol enabled devices, one of which isthe controller application.

In step 620, the controller application processes the communicationsprotocol command and converts it to one of many commands for the mobiledevices running the mobile application. For example, when the MIDIcontroller sends the MIDI command “193 21”, the MIDI command is receivedby the MIDI enabled devices, including the controller application. Thecontroller application is programmed, in this example, to send a commandto the mobile devices to vibrate for 21 milliseconds. In step 625, themobile application received the command to vibrate for 21 millisecondsand commands the mobile device to vibrate for 21 milliseconds.

FIG. 7 discloses a method for enabling the controller application tocontrol communications protocol enabled devices in addition tocontrolling the mobile devices. In step 705, the controller applicationcommands are augmented by the addition of communications protocolcommands. For example, when the control application operator presses thebutton to send the command to illuminate the mobile devices' display thecolor blue, the controller sends “C.Blue” to the plurality of mobileelectronic devices. In addition, the controller application will alsosend the appropriate communications protocol command to thecommunications protocol enabled devices to play a specific chord. Instep 710, in addition to the existing connection to the communicationsprotocol enabled devices, another connection is made between thecommunications protocol enabled devices and the controller application.In step 715, whenever the operator of the controller application selectsthe “Illuminate Blue” command, the mobile applications will receive thatcommand and illuminate their display the color blue. In step 720, thecommunications protocol enabled devices receive the communicationsprotocol commands and play the specific chord commanded by thecontroller application.

While the disclosure has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings without departing from the essential scopethereof. Therefore, it is intended that the disclosed subject matter notbe limited to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but only by the claimsthat follow.

What is claimed is:
 1. A method of controlling and synchronizing aplurality of mobile electronic devices at an audience event using acontroller software application on a computing device and a network ofbeacons, the method comprising: a) downloading a mobile softwareapplication onto each mobile electronic device; b) preparing uniqueconfiguration and content data for the controller software applicationfor the audience event, wherein the configuration and content datavaries based on the specific physical location in a venue holding theaudience event; c) configuring the network of beacons for the venue fortransmission of communications protocol commands from the controllersoftware application on the computing device; d) installing the networkof beacons at the venue; e) launching the mobile software applicationonto each mobile electronic device during the audience event, whereinthe mobile software application prepares each mobile electronic devicethat does not support a communications protocol to receive a pluralityof communications protocol commands from the network of beacons; f)determining the specific physical location of each mobile electronicdevice in the venue holding the audience event; g) transmittingwirelessly the unique configuration and content data to the plurality ofmobile electronic devices during the audience event from the network ofbeacons based on the specific physical location in the venue during theaudience event; h) transmitting wirelessly the plurality ofcommunications protocol commands during the audience event from thecomputing device to the mobile electronic devices from the network ofbeacons; and i) recognizing and executing the plurality ofcommunications protocol commands on the mobile electronic devices,wherein the plurality of communications protocol commands comprises aplurality of timestamps to synchronize the execution of the commands onthe mobile electronic device into a unique sequential order.
 2. Themethod of claim 1, wherein the communications protocol commands areselected from the group consisting of MIDI, OCA (Open Sound Control),DMX512 (Digital Multiplex), ART-NET, and sACN (Streaming Architecturefor Control Networks).
 3. The method of claim 1, wherein the specificphysical location of the plurality of mobile electronic devices in thevenue holding the audience event is acquired by a method selected fromthe group consisting of user input, GPS, beacon proximity, venue seatnumber, and venue section number.
 4. The method of claim 1, wherein theplurality of executed communication protocol commands creates an imagefrom the display screens from the plurality mobile electronic devices byassigning different executed communication protocol commands to displaydifferent colors based on the specific physical location of each mobileelectronic device in the venue holding the audience event.
 5. The methodin claim 1, wherein the plurality of mobile electronic devices are eachassigned to discrete groups and the plurality of executed communicationprotocol commands is determined by the discrete group assigned to themobile electronic device.
 6. The method of claim 1, wherein theplurality of communications protocol commands is selected from the groupconsisting of playing video, playing vibrations, playing camera flashpatterns, illuminating screen patterns, illuminating screen colors,displaying images, displaying texts, playing sounds, playing music,streaming audio, or streaming video.
 7. The method of claim 1, whereinthe unique configuration and content data sent contains data electedfrom the group consisting of video stream data, audio playback data,image data, or text data.
 8. The method of claim 1, wherein the mobilesoftware application on each mobile device translates the plurality ofcommunications protocol commands from the transmitted natural languageto the natural language of each mobile device.
 9. The method of claim 1,wherein the plurality of communications protocol commands transmitted donot interfere with mobile device protocols on the plurality of mobileelectronic devices.
 10. The method of claim 1, wherein the executedplurality of communications protocol commands synchronizes the pluralityof mobile electronic devices in real-time to perform a specific actionsimultaneously.
 11. The method of claim 1, wherein the plurality ofcommunications protocol commands is transmitted in a unique sequentialorder in pre-defined time periods with a command code, a sequencenumber, a current-time for the controller software application, and atime for executing the command.
 12. The method of claim 1, wherein theplurality of executed communication protocol commands creates a musicalinstrument emulator on the plurality mobile electronic devices tocomplement the music at the audience event, wherein the choice of themusical instrument emulated, the volumes and pitches of the soundsemitted by the mobile devices, and the pitches of the sound emitted isdetermined by the plurality of executed communication protocol commands.13. The method of claim 1, wherein the plurality of executedcommunication protocol commands creates a musical instrument emulator onthe plurality mobile electronic devices to complement the music at theaudience event, wherein the choice of the musical instrument emulated,the volumes and pitches of the sounds emitted by the mobile devices, andthe pitches of the sound emitted is determined by user input.
 14. Themethod of claim 1, wherein the plurality of executed communicationprotocol commands creates a musical instrument emulator on the pluralitymobile electronic devices to complement the music at the audience event,wherein the choice of the musical instrument emulated, the volumes andpitches of the sounds emitted by the mobile devices, and the pitches ofthe sound emitted is determined by movements of the phone selected fromthe group consisting of shaking, rotating, moving up, moving down,moving left, moving right, moving clockwise, moving counterclockwise,tilting up, tilting down, touching the screen, and exposing the phone tolight.
 15. A method of controlling and synchronizing a plurality ofmobile electronic devices at an audience event using a communicationsprotocol controller software application on a computing device and acompatible communications protocol software controller, the methodcomprising: a) downloading a mobile software application onto eachmobile electronic device; b) preparing unique configuration and contentdata for the communications protocol controller software application forthe audience event, wherein the communications protocol controllersoftware application translates communication protocol commands tomobile software application commands for the plurality of mobileelectronic devices; c) establishing a connection between the compatiblecommunications protocol software controller and the communicationsprotocol controller software application on the computing device; d)launching the mobile software application onto each mobile electronicdevice during the audience event, wherein the mobile softwareapplication prepares each mobile electronic device to receive aplurality of translated communication protocol commands from thecommunications protocol controller software application; e) transmittingwirelessly the unique configuration and content data to the plurality ofmobile electronic devices during the audience event; f) transmitting aplurality of communication protocol commands from the compatiblecommunications protocol software controller to the communicationsprotocol controller software application during the audience event; g)translating the received plurality of communication protocol commands bythe communication protocol controller software application into theplurality of translated communication protocol commands during theaudience event; h) transmitting wirelessly the plurality of translatedcommunication protocol commands from the computing device to the mobileelectronic devices during the audience event; and i) recognizing andexecuting the plurality of translated communication protocol commands onthe mobile electronic devices during the audience event, wherein theplurality of translated communication protocol commands comprises aplurality of timestamps to synchronize the execution of the commands onthe mobile electronic device into a unique sequential order.
 16. Themethod of claim 15, wherein the communications protocol may be selectedfrom the group consisting of MIDI, OCA (Open Sound Control), DMX512(Digital Multiplex), ART-NET, and sACN (Streaming Architecture forControl Networks).